
#ifndef IMAGE_H
#define IMAGE_H

#include<windows.h>        // Windows header file.
#include<stdio.h>          // Standard input/output.
#include<string>

#define BITMAP_ID 0x4D42	// The universal bitmap ID

class Image
{
   private:
      std::string strFilePath;
      int imageWidth;                  // Width of a texture.
      int imageHeight;                 // Height of a texture.
      unsigned char *image;            // Texture image.
      
   public:
      Image(const std::string&);
      ~Image();

      bool loadBMP(); // Load a .bmp image file.
      void freeImage();                // Delete an image.
      
      int getWidth() { return imageWidth; }
      int getHeight() { return imageHeight; }
      unsigned char* getPixels() { return image; }
      
      unsigned int ID;                 // Texture ID.
};

#endif //IMAGE_H
